package com.example.convertstream;

import java.io.*;
import java.nio.charset.Charset;

public class ConvertStreamDemo1 {
    public static void main(String[] args) throws IOException {

        /**
         * InputStreamReader：字节流到字符流的桥梁，将字节流转换为字符流。
         * OutputStreamWriter：字符流到字节流的桥梁，将字符流转换为字节流。
         */

        /**
         * 读时：字节流向字符流转换
         * 写时：字符流向字节流转换
         */

        //了解
        /**
         * 利用转换流按照指定字符编码读取数据
         * 转换流：字节流->字符流；字符流->字节流
         */
        //创建转换流对象并指定字符编码
        /**
         * 字符流
         */
        InputStreamReader isr = new InputStreamReader(new FileInputStream("src/com/example/file/i.txt"), "GBK");
        //读取数据
        int read = isr.read();
        while (read != -1) {
            System.out.print((char) read);
            read = isr.read();
        }
        //释放资源
        isr.close();

        //掌握
        //创建字符流对象并指定字符编码
        FileReader fr = new FileReader("src/com/example/file/i.txt", Charset.forName("GBK"));
        //读取数据
        int readfr = fr.read();
        while (readfr != -1) {
            System.out.print((char) readfr);
            readfr = fr.read();
        }
        //释放资源
        fr.close();
    }
}
